As computer hardware and software technology continues to progress, the need for larger and faster mass storage devices for storing computer software and data continues to increase. Electronic databases and computer applications such as multimedia applications require large amounts of mass storage capacity, such as hard disk drive storage capacity.
To meet these ever increasing demands, hard disk drives (HDDs) continue to evolve and advance. Some of the early disk drives had a maximum storage capacity of five megabytes and used fourteen inch platters, whereas today's HDDs are commonly over one gigabyte and use 3.5 inch platters. Similarly, advances in the amount of data stored per unit of area, or areal density, have dramatically accelerated. For example, in the 1980's, areal density increased about thirty percent per year while in the 1990's annual areal density increases have been around sixty percent. The cost per megabyte of a HDD is inversely related to its areal density.
In general, mass storage devices and systems, such as HDDs, include a magnetic storage media, such as rotating disks or platters, a spindle motor, read/write heads, an actuator for positioning the read/write heads, a pre-amplifier, and a variety of electronic circuitry for controlling the operation of the HDD and for processing data. The electronic circuitry is implemented as separate circuitry elements and integrated circuits such as analog integrated circuits and digital integrated circuits. These circuitry elements include such elements as a read channel, a write channel, a servo controller, a motor control circuit, read-only memory (ROM), random-access memory (RAM), and a variety of disk control and processing circuitry to control the operation of the HDD and to properly interface the HDD to a system bus such as a personal computer system bus. A separate microprocessor is generally provided for executing instructions to control the operation of the HDD.
An HDD performs write, read, and servo operations when storing and retrieving data. A typical HDD performs a write operation by receiving data from a system bus and storing the data in local memory. The microprocessor schedules a series of events to allow the information to be transferred to the disk platters through a write channel.
The read/write heads are positioned on the appropriate track and the appropriate sector of the track is located. Finally, the data from the RAM is stored at the located sector of the disk platter by providing the data through the write channel. The write channel may encode the data so that the data can be more reliably retrieved later. A sector generally has a fixed data storage capacity, such as 512 bytes of user data per sector.
In a read operation, the appropriate sector to be read is located and data that has been previously written to the disk is read. The read/write head senses the changes in the magnetic flux of the disk platter and generates a corresponding analog read signal. The read channel receives the analog read signal, conditions the signal, and detects "zeros" and "ones" from the signal. The read channel conditions the signal by amplifying the signal to an appropriate level using automatic gain control (AGC) techniques. The read channel then filters the signal, to eliminate unwanted high frequency noise, equalizes the channel, detects "zeros" and "ones" from the signal, and formats the binary data. The binary or digital data is then transferred from the read channel and is stored in the RAM. The microprocessor may then communicate to the host that data is ready to be transferred.
As the disk platters are moving, the read/write heads must align or stay on a particular track. This is accomplished by the servo operation. In a servo operation, a servo wedge is read from the disk that generally includes track identification information and track misregistration information. The track misregistration information may also be referred to as a position error information. The position error information may be provided as servo bursts and may be used during read and write operations to ensure that the read/write heads are properly aligned on a track. The track identification information is used during read and write operations so that a track may be properly identified.
When reading data, traditional HDD data channels often use a technique known as peak detection for extracting or detecting digital information from the analog information stored on the magnetic media during read operations. Peak detection involves level detecting the waveform and determining if the waveform level is above a threshold level during a sampling window. For example, if the waveform level is above the threshold level, the data is considered a "one." More recently, advanced techniques utilizing discrete time signal processing (DTSP) to reconstruct the original data written to the disk are being used in read channel electronics to improve areal density. In these techniques, the data is synchronously sampled in a synchronously sampled data (SSD) channel using a data recovery clock. The sample is then processed through a series of mathematical manipulations using signal processing theory to reconstruct the original data written to the disk.
There are several types of SSD channels. Partial response, maximum likelihood (PRML); extended PRML (EPRML); enhanced, extended PRML (EEPRML); fixed delay tree search (FDTS); and decision feedback equalization (DFE) are several examples of different types of SSD channels using DTSP techniques. The maximum likelihood detection performed in several of these systems is usually performed by a Viterbi detector implementing the Viterbi algorithm, named after Andrew Viterbi who developed it in 1967. The SSD channel, is also referred to as a read channel or data channel.
As discussed above, the electronic circuitry used to implement a HDD is complex and is implemented using separate circuitry elements and integrated circuits such as analog integrated circuits and digital integrated circuits. The separate circuitry elements generally increase the overall cost and complexity of the HDD and increase overall power consumption. Power consumption is especially critical in portable electronic applications such as laptop and notebook computers. Furthermore, the separate circuitry elements often complicate "trouble shooting" when repairing an HDD.
The separate circuitry elements and integrated circuits often harm overall HDD performance, especially in high speed applications, because of the additional noise and undesirable circuitry characteristics that are present due to the interconnections needed between the various separate circuitry elements. For example, it is difficult and often impossible for certain types of high speed signal processing, such as read channel signal processing, to be performed because of the undesirable circuitry characteristics introduced through the interconnections between a separate microprocessor and the source of the signal being processed.
The separate circuitry elements of a particular HDD are generally designed so that the HDD may interface with one particular interface or system bus. This prevents the HDD from being used on other systems and networks which use different interfaces or system buses. Also, HDDs interface directly to the bus of a computer, such as a stand-alone personal computer or a server of a network, and cannot directly couple or interface with a network bus or other bus and serve as a network or stand-alone element. This further limits the flexibility of HDDs.
The number of computer networks such as local area networks (LANs) and wide area networks (WANs) continues to increase as the demand remains high. Computer networks often include network HDDs that are typically implemented in a computer network as HDDs coupled through a network server computer. In this manner, network HDDs couple to the network server computer in much the same manner that a non-networked HDD couples to a single-user computer. As more and more storage capacity is needed in a network, additional network HDDs may be added at the network server computer until all expansion slots have been exhausted. Once all expansion slots have been exhausted, existing network HDDs must be taken out of service and replaced with higher capacity drives. This presents serious disadvantages and problems because the information stored on the network HDD must being taken out of service and transferred to another network hard disk drive. This process is expensive, time consuming, and often makes network data or information unavailable for a period of time. This process can also result in file management problems and lost or missing data.